#pragma once

#include "../common/BasePclModel.h"
#include "includeBase.h"

class ConditionalEuclideanClusteringModel : public BasePclModel
{
public:
    ConditionalEuclideanClusteringModel();

public:
    static ConditionalEuclideanClusteringModel& get();

public: // IJsonSerializable
    void fromJson(const QJsonObject& json, QStringList& errorList) override;
    QJsonObject toJson() const override;

public: // Property
    QString pcdFile() const { return pcdFile_; }
    void setPcdFile(const QString& pcdFile) { pcdFile_ = pcdFile; }

    double radiusSearch() const { return radiusSearch_; }
    void setRadiusSearch(double radiusSearch) { radiusSearch_ = radiusSearch; }

private:
    QString pcdFile_ =
        "(https://sourceforge.net/projects/pointclouds/files/PCDdatasets/Trimble/Outdoor1/Statues_4.pcd.zip)";

    double radiusSearch_ = 0.05;
};
